package com.fh.service;

import org.jitsi.impl.neomedia.NeomediaServiceUtils;
import org.jitsi.service.libjitsi.LibJitsi;
import org.jitsi.service.neomedia.MediaUseCase;
import org.jitsi.service.neomedia.StreamConnector;
import org.jitsi.service.neomedia.StreamConnectorDelegate;
import org.jitsi.service.neomedia.device.MediaDevice;
import org.jitsi.utils.MediaType;

import javax.swing.*;
import java.awt.*;

public class VideoChatExample {
    public static void main(String[] args) {
        // 初始化LibJitsi
        LibJitsi.start();

        // 获取视频设备管理器并设置默认设备
        MediaDevice mediaDevice = NeomediaServiceUtils.getMediaServiceImpl().getDefaultDevice(MediaType.APPLICATION, MediaUseCase.ANY);

        // 创建视频显示窗口
        JFrame frame = new JFrame("Video Chat Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new BorderLayout());

        // 创建视频展示组件
        Component videoComponent = (Component) NeomediaServiceUtils.getMediaServiceImpl().getVideoPreviewComponent(mediaDevice,640,480);
        frame.add(videoComponent, BorderLayout.CENTER);

        // 建立连接
        LibJitsi.start();

        // 这里省略了建立连接的过程，可以根据LibJitsi提供的API来完成连接的建立
        // 设置对方IP和端口
        String remoteIpAddress = "对方的IP地址";
        int remotePort = 12345;  // 对方的端口号
        StreamConnectorDelegate connector = new StreamConnectorDelegate(StreamConnector.Protocol.UDP);



        // 显示窗口
        frame.setSize(640, 480);
        frame.setVisible(true);
        LibJitsi.stop();
    }
}
